/**
 * 获取当前页面的文件名或者说 路劲的最后一个名称
 */
class GetPathName {
    constructor() {
    }
    static pathName = window.location.pathname;
    returnName = () =>{
        const path = GetPathName.pathName;
        const index_1 = path.lastIndexOf('/')+1;//获取最后一个 / 的下标
        const index_2 = path.lastIndexOf('.');// 获取最后一个 . 的下标
        return path.substring(index_1,index_2);
    }
}

/**
 * 初始化页面
 */
class InitPage  {
    constructor() {
        this.setJs();
    }
    /**
     * 设置js的位置
     */
    setJs= () =>{
        const jsFileName = new GetPathName().returnName();
        const jsPath = `<script src = "./../js/${jsFileName}.js"></script>`;
        document.write(`<script src = './../js/write.js'></script>`);
        document.write(jsPath);
    };
}

/**
 * 设置页面的标题
 */
class SetPageName{

    constructor(props: InitPageInfo) {
        SetPageName.PageName = props.className;
        this.setPageName();
    }
    static PageName:string ;//页面名称
    setPageName = () =>{
        const write = `<h1 class="alignCenter font_1">${SetPageName.PageName}</h1>`;
        document.title = `ts学习--${SetPageName.PageName}`;
        document.write(write);
    }
}

/**
 * 设置页面信息
 */
class SetPageInfo {
    constructor(props:PageInfo) {
        SetPageInfo.props_ = props;
        this.setPageInfo();
    }
    static props_:PageInfo;
    setPageInfo = () =>{
        const {describe} = SetPageInfo.props_;
        writeH({
            text:describe
        },1)
    }
}


new InitPage();// 初始化公用页面资源

/**
 * 初始化页面信息接口
 */
interface InitPageInfo {
    className:string;//课程名称
}
interface PageInfo {
    describe:string;//页面的描述,
}
/**
 * 在页面ts里面初始化页面相关的信息
 * @param info  初始化页面相关的数据
 * @param pageInfo  页面本身携带的数据
 */
const initPageFun = (info:InitPageInfo,pageInfo?:PageInfo) =>{
    new SetPageName(info);
    if(pageInfo){
        new SetPageInfo(pageInfo);
    }
};
